The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the inventors hereof, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
The disclosed technology relates to data storage systems, and more particularly, to generating soft information for the decoding of data in flash memories.
In a data storage system, it is desirable for information, often grouped in blocks or sectors, to be accurately stored and retrieved. A decoder, either integrated within or external to the data storage system, processes a signal retrieved from the data storage device. The medium, or media, on which the data is stored may corrupt the retrieved signal such that the decoder is unable to correctly reconstruct the stored information. Accordingly, given a storage medium, sufficient reliability is obtained through careful design of the data storage system and/or the decoder, and of their respective components.
The input to a decoder may include different types of information about the symbols that are to be decoded. For example, the information may include hard information, soft information, or a combination of both. Hard information generally corresponds to a single symbol value, selected from a set of admissible values, any one of which could be associated with the symbol. For example, if symbols are associated with binary values, the set of admissible values may correspond to logical zero (“0”) and logical one (“1”). In this example a signal containing hard information would associate each symbol contained in the signal with either a logical zero or a logical one.
In converting the retrieved signal of the storage device to hard information, some information is lost, because the stored information must be associated with one of the predefined admissible values. For example, when processing binary information, stored symbols must be associated with either a logical zero or a logical one. Therefore, based on hard information alone, it is not possible to determine the likelihood that a given symbol of the retrieved signal indeed corresponds to the admissible value assigned to that symbol. For example, when processing binary information, hard information does not convey whether a given symbol of the retrieved signal was a “strong” or a “weak” logical zero or logical one. In other words, information about the uncertainty introduced by associating a given symbol with a logical zero or a logical one is not part of the hard information.
Soft information, in contrast to hard information, generally includes a likelihood metric that conveys the likelihood that a given one of the predefined admissible values gave rise to the stored symbol. Likelihood values for several or all of the admissible values may be included. For example, assuming a binary coding scheme, soft information may include two likelihood metrics: one that provides the likelihood that the given symbol corresponds to a logical zero and one that provides the likelihood that the given symbol corresponds to a logical one. For the binary case, one of these likelihoods may be omitted because it can be derived from the other. In contrast to hard information, soft information is able to capture whether a given symbol is a “weak” or a “strong” logical zero or logical one. Accordingly, the decoder is provided with additional information that may be used to improve decoding performance.
In spite of the potential to improve decoding performance, soft information may lead to additional complexity in practical implementations. In practical implementations, the likelihood metrics associated with each of the predefined admissible values may need to be quantized to a finite number of quantization levels. Representing soft information may therefore be significantly more complex compared to hard information. It is therefore important to find efficient ways of representing soft information such that the benefits of improved decoding performance outweigh the additional complexity in practical implementations.